<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>


    /*说明：typeof 返回的是字符串，有六种可能："number"、"string"、"boolean"、"object"、"function"、"undefined"*/

    const a1=undefined;
    //true   null和undefined 可看做内容相等  类型不同
    console.log(a1==null)

    //类型不一样  undefined  object
    console.log(a1===null)


    //任何值和 NaN比较都不相等
    const a2=NaN;
    //false
    console.log(a2==NaN)
    //只能用 isNaN判断
    console.log(isNaN(a2))





  const aaa=null;

  /*枚举所有的可能
  * 哪些情况取反为 true
  * 只有四种          null   undefined  0  NaN  排除另外三种可确定一种            注意 false和0 一回事
  *  */


     /*不是undefined   不是0   不是 NaN   那么只能是 null  取反才能  alert
     * 注意NaN只能用 函数判断  因为NaN和任何数都不相等包括自己 */
    if ( typeof(aaa)!='undefined' && aaa!=0 && !isNaN(aaa) && !aaa )
    {
        console.log(('is null'));
    }

    if(aaa===null){
        console.log("判断null第二种方法")
    }



   //怎么判断NaN  两种方法
        const bbb=NaN;

    //number类型
    console.log(typeof bbb)

      /*不是null   不是undefined   不是 0  那么只能是 NaN  取反才能  alert */
      if (bbb!=null && typeof(bbb)!='undefined' && bbb!=0 && !bbb)
      {
          console.log(('is NaN'));
      }


      //方法二 内置方法
      if(isNaN(bbb)){
          console.log('判断NaN方法二')
      }



</script>
</body>
</html>